﻿#define  _CRT_SECURE_NO_WARNINGS 1#include<iostream>
using namespace std;
class qsyDate
{
public:
	//1.⽆参构造函数

	qsyDate()
	{
		_year = 1;
		_month = 1;
		_day = 1;
	}
	//2.带参构造函数

	qsyDate(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	// 3.全缺省构造函数

	/*qsyDate(int year = 1, int month = 1, int day = 1)
	{
	_year = year;
	_month = month;
	_day = day;
	}*/

	void Print()
	{
		cout << _year << "/" << _month << "/" << _day << endl;
	}

private:
	int _year;
	int _month;
	int _day;
};

int main()
{
	// 如果留下三个构造中的第⼆个带参构造，第⼀个和第三个注释掉
	// 编译报错：error C2512: “Date”: 没有合适的默认构造函数可用

	qsyDate d1;//调用默认构造函数——>>无参构造函数，调用⽆参构造函数创建对象时，对象后⾯不⽤跟括号
	//否则编译器无法区分这⾥是函数声明还是实例化对象

	qsyDate d2(2024, 7, 19);//调用带参数的构造函数（不是默认构造函数）

	d1.Print();
	d2.Print();
}